Many storage controllers include a buffer to at least temporarily store data while performing an input/output (I/O) operation (e.g., read operations, write operations, etc.). The performance of the storage controller can be largely dependent upon the size, availability, and/or speed of the buffer. For example, a storage controller will not perform as well as it otherwise could perform if the buffer is consistently full or nearly full. Similarly, the performance of a storage controller can be adversely affected if the storage system including the storage controller and the host device exchange data at different speeds and/or rates (e.g., the storage system is faster or slower than the host device) because it can affect when and/or how data is buffered by the storage system.